1. Field of the Invention
The present invention relates to a detection device of a despreading code and a despreading timing, and a method thereof in a spread spectrum communication system or in a CDMA communication system.
2. Description of the Related Art
In communication performed from a base station to a mobile station, when the base station is captured at the time of initial synchronization or hand-over, a despreading code and a despreading timing should be detected in an asynchronous CDMA method. Hand-over here means that a user having a mobile terminal moves from a base station to another base station. In this case, the mobile station (mobile terminal) is required to detect a despreading code and a despreading timing which the base station is using, in order to obtain the signals from each base station which is asynchronously transmitting signals. A channel for establishing synchronization, called a perch channel, is installed to perform the above signal detection. The spreading code of part of the perch channel or the spreading code of all the data symbols are common to each base station or has few candidates. Therefore, a perch channel can be captured using a predetermined despreading code. The following explanation is based on a system where the spreading code of part of the perch channel or the spreading code of all the data symbols is common to each base station or has few candidates. This is because if there are many kinds of the spreading code of a perch channel, an extended period of time is required to establish synchronization, making such a system impractical. However, since there are thought to be many methods of capturing a perch channel, it is not always necessary for the spreading code of the perch channel to be the same as that of each base station or for a few candidates to be provided. Therefore, the above-mentioned case will not influence the configuration of the present invention described below.
The following are the procedures for establishing synchronization in the case where the spreading code of part of a perch channel or the spreading code of all the data symbols is common to each base station, or where a few candidates are provided.
1. In the case where the spreading code of a perch channel is common to each base station, a despreading timing can be detected by detecting the correlation value of part of common codes using a matched filter or the like, and by detecting a timing at which the maximum correlation value is obtained as a synchronizing timing.2. In the case where the spreading code of a perch channel has several candidates, the spreading code and the spreading timing where the maximum correlation value is obtained, can be detected as a synchronizing timing by performing the operations in item 1 for all spreading codes that are candidates. In spread spectrum communication including CDMA communication, a spreading code is the same as a despreading code with regard to a code.3. In the case where part of the spreading codes of a perch channel is common to each base station, first, a despreading timing is captured by the code common to each base station. Next, a code which is not common to each base station is despread by the spreading code of several candidates, and thus the code which is not common to each base station can be detected.
In the case where the spreading code inherent to a base station has several candidates when the code inherent to a base station is captured after processing the procedures in items 1, 2, and 3, this procedure can be treated as being the same as that described in item 2. When spreading codes of several candidates are correlated, a despreading process is repeated for each of the candidates.
A process in the case where the spreading code of a perch channel has several candidates is equal to a process in the case where the inherent base station code has several candidates. Therefore, the following is the explanation of a configuration of detecting the spreading inherent base station code. In this case, and different from the case of a perch channel, a spreading code is different for each base station, and the number of the candidates is not limited to only a few.
If it takes a long time to repeat a despreading process the number of times equal to the number of candidates when initial synchronization and clock synchronization are not obtained, a timing gradually lags because of the deflection of a local oscillator for clock timings of a base station and a mobile station. Accordingly, there is the possibility that the right correlation value of codes of all candidates cannot be obtained. Further, there is the possibility that electric power being received will change due to the effects of fading while a process is being performed, and thus correlation values cannot be properly compared.
A conventional configuration shown in FIG. 1 has been proposed as a means for solving this problem.
First, in order to obtain a synchronizing timing using a perch channel, a received signal is converted into a digital signal by an A/D converter 1000. The following explanation is based on the fact that the process of a received signal is a digital process. However, the process is not always required to be a digital process, and a configuration of an analog process can be adopted. Received I-phase and Q-phase signals are transmitted to a matched filter 1001 and sliding correlators 1005-1 to 1005-3, respectively. “I+jQ” shown in FIG. 1 is the abbreviation of a configuration of processing the I-phase and Q-phase signals. Since a carrier of the I-phase signal and a carrier of the Q-phase signal are shifted in phase by 90 degrees, a system can be easily understood by describing the I-phase signal and the Q-phase signal as a complex number such as “I+jQ”.
Regarding the matched filter 1001, a filter for the I-phase signal and a filter for the Q-phase signal are provided. However, for the above reason, it is described assuming that the signal of a complex number (complex signal) was processed by one matched filter 1001. By inputting a code designation signal transmitted from a timing code storage circuit 1011 to the matched filter 1001, a despreading code is inputted to the matched filter 1001 from a code generation circuit 1012 to generate a despreading code. The matched filter 1001 obtains a correlation value by shifting a despreading timing, thereby inputting the correlation value to an electric power convertor 1002. The electric power convertor 1002 calculates the sum of the square of the correlation value of the I-phase signal and that of the Q-phase signal. When the totaled value downstream is calculated, this prevents the sum of the correlation values from being very small by rotating the phase of the I-phase signal or that of the Q-phase signal due to the effects of fading. If the sum of correlation values becomes very small, the sum of correlation values becomes small even if a despreading process is performed at the correct timing using the correct spreading code. Accordingly, it cannot be determined whether a despreading code and a timing are correct.
The correlation value with which the above-mentioned process has been performed in the electric power convertor 1002 is inputted to a totaling unit consisting of an adder 1003 and a memory 1004, and the correlation values for a plurality of symbols of an inputted signal are totaled. The correlation value which has been totaled for a plurality of symbols of an inputted signal is inputted to a switch 1009. In the case of detecting a perch channel, the totaled value of the correlation values obtained from a memory 1004 is inputted to a comparator 1010. The added value of correlation values obtained at each timing is inputted to the comparator 1010. The comparator 1010 determines whether the totaled value is greater than a predetermined value, and then outputs a signal. In the case where the spreading code of a perch channel is common to each base station, operations are performed only for obtaining a correct despreading timing. The timing code storage circuit 1011 determines, based on the output from the comparator 1010, whether the despreading code used for capturing a perch channel is correct or which timing is a correct despreading timing. In the case where the despreading code is not correct, the code generation circuit 1012 outputs another despreading code, and the matched filter 1001 repeats the detection of a synchronizing timing.
In the case where the spreading code of a perch channel is common to each base station, the timing code storage circuit 1011 compares the totaled values of the correlation values of each despreading timing which are outputted from the matched filter 1001, determines a correct despreading timing, and performs synchronous detection. In the case where a plurality of the spreading codes of a perch channel are present, the timing code storage circuit 1011 stores the totaled values of correlation values for the number of candidates for the spreading codes of a perch channel. In the case of the maximum totaled value, the timing code storage circuit 1011 determines that operations are performed using a correct despreading code at a correct despreading timing, and then performs synchronous detection.
The timing code storage circuit 1011 transmits a synchronizing signal, obtained by capturing a perch channel, to code generation circuits 1006-1 to 1006-3. At the same time, in order to detect the spreading code inherent in each base station, the timing code storage circuit 1011 outputs a code for use as a candidate for a despreading code to the code generation circuits 1006-1 to 1006-3 at the obtained synchronizing timing. Unlike the configuration of the matched filter 1001, sliding correlators 1005-1 to 1005-3 are configured to detect correlation values only at a predetermined timing. However, since the hardware of these correlators is much smaller than that of the matched filter 1001, these correlators are more advantageous than the matched filter 1001 with regard to the configuration of a circuit as well as with regard to electric power consumption. One example of the configuration of the sliding correlators 1005-1 to 1005-3 will be given later.
According to the configuration shown in FIG. 1, three code generation circuits 1006-1 to 1006-3 are provided. These circuits are configured to obtain correlation values obtained by a despreading process even at a timing that is slightly shifted so that it is before and after the synchronizing timing obtained by a timing code storage circuit 1011. This configuration takes into consideration the fact that a lag is gradually generated due to the deflection of the frequency of the clock of a base station and that of a mobile station, even if a synchronizing timing is obtained. According to this configuration, it is known that a despreading process can be effectively performed even if a lag between timings is generated.
The correlation values outputted from the sliding correlators 1005-1 to 1005-3 are converted into the sum of the square of the correlation value of the I-phase signal and that of the Q-phase signal in the electric power convertor 1007. An integration circuit 1008 adds the sums of the square of the I-phase signal and the square of the Q-phase signal for a plurality of symbols of the despreading code of an inputted signal to thereby be inputted to the switch 1009. When the spreading code inherent in each base station is detected, the switch 1009 is switched to output the signal transmitted from the integration circuit 1008 to the comparator 1010. The comparator 1010 determines whether the total value of the sums of the squared values is greater than a predetermined value, and transmits the results to the timing code storage circuit 1011. The timing code storage circuit 1011 determines that the despreading code corresponding to the maximum totaled value of correlation values is a spreading code used by a base station which will receive signals. After that, communication is performed using this despreading code.
According to the configuration shown in FIG. 1, a despreading process is performed by a plurality of correlators, in a range corresponding to the deflection of a local oscillator for a clock-timing. Then, a despreading process is performed before and after a timing is initially detected, and the maximum correlation value is selected. Although this method is effective for the lag between timings, it cannot remove the effects of fading.